#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include<QFileDialog>
#include<QTimer>
#include<QMessageBox>
#include<QListWidgetItem>
#include<QFileInfo>


#include"PlayBack.h"
#include"PlaybackDef.h"
#include"sqlite3.h"
#include"CommDef.h"
#include"mylabel.h"



namespace Ui {
class Widget;
}

class Widget : public QWidget
{
    Q_OBJECT

public:
    explicit Widget(QWidget *parent = 0);
    ~Widget();

void paintEvent();                //主窗口绘制事件



private slots:

    void on_listWidget_currentRowChanged(int currentRow); //列表文件


    void on_pBtnFile1_clicked();                           //打开数据库文件

    void on_pBtnPlay_clicked();                           //暂停-播放

    void on_pBtnClose_clicked();                          //关闭视频数据库

    void on_pBtnUnder_clicked();                          //慢进

    void on_pBtnLast_clicked();                           //快进

    void on_pBtnPrew_clicked();                           //慢退

    void on_pBtnBack_clicked();                           //快退

    void changePicture();                                 //改变读取帧数

    void on_hztSlidProgress_valueChanged(int value);      //滑动块帧值变化

    void on_pBtnFrameOk_clicked();                        //确认当前帧



//    void on_listWidget_itemPressed(QListWidgetItem *item);

private:
    Ui::Widget *ui;
	

    QString filedir;                //数据库文件路径
    QFileInfo *fi;                 //视频文件在所选目录是否存在

    QTimer  *timer;                 //播放帧定时器

    void *pSql=NULL;                //数据库文件句柄
    void *pFile=NULL;               //视频文件句柄
    char * pBuf= new char[10*1024*1024];  //视频文件缓存
    StSensorSingleObjData *pWave;   //波门结构数据
    VideoFrame* pFrame;             //显示视频数据帧
    VIDEO_FILE_INFO *lpFiles=NULL;  //视频文件列表缓存
    int nFrameCount=0;                //当前视频总帧数
    int CurrentFrame=0;               //视频当前帧数
    int nRet=0;                     //获取视频帧标志   负值-失败， 0-成功
    bool playflag=false;            //视频播放暂停标志  true-播放 , false-暂停
    bool lastbackflag=true;         //快进快退标志      true-快进 , false-快退
    int mSectimer=20;                  //初始化定时器时间
    int mlasttimer=20;                 //初始化前进时间
    int mbacktimer=20;                 //初始化后退时间
    int initime=20;                    //初始化帧时间间隔
    int FrequeLine=50;                 //当前播放频率
    bool timeflag=false;            //初始化列表标志


};

#endif // WIDGET_H
